	.arch armv8-a
	.file	"simple_print.c"
	.text
	.align	2
	.global	simple_putc
	.type	simple_putc, %function
simple_putc:
	sub	sp, sp, #16
	strb	w0, [sp, 15]
	mov	x0, 2
	ldrb	w1, [sp, 15]
	strb	w1, [x0]
	nop
	add	sp, sp, 16
	ret
	.size	simple_putc, .-simple_putc
	.align	2
	.global	simple_puts
	.type	simple_puts, %function
simple_puts:
	stp	x29, x30, [sp, -32]!
	add	x29, sp, 0
	str	x0, [x29, 24]
	b	.L3
.L4:
	ldr	x0, [x29, 24]
	ldrb	w0, [x0]
	bl	simple_putc
	ldr	x0, [x29, 24]
	add	x0, x0, 1
	str	x0, [x29, 24]
.L3:
	ldr	x0, [x29, 24]
	ldrb	w0, [x0]
	cmp	w0, 0
	bne	.L4
	nop
	ldp	x29, x30, [sp], 32
	ret
	.size	simple_puts, .-simple_puts
	.align	2
	.global	ultostr
	.type	ultostr, %function
ultostr:
	sub	sp, sp, #32
	str	w0, [sp, 12]
	str	x1, [sp]
	str	w2, [sp, 8]
	ldr	w0, [sp, 12]
	str	w0, [sp, 28]
	str	wzr, [sp, 24]
	b	.L6
.L7:
	ldr	w1, [sp, 8]
	ldr	w0, [sp, 28]
	udiv	w2, w0, w1
	mul	w1, w2, w1
	sub	w0, w0, w1
	str	w0, [sp, 24]
	ldr	w0, [sp, 8]
	ldr	w1, [sp, 28]
	udiv	w0, w1, w0
	str	w0, [sp, 28]
	ldr	x0, [sp]
	sub	x0, x0, #1
	str	x0, [sp]
	adrp	x0, num_str.3117
	add	x0, x0, :lo12:num_str.3117
	ldr	x1, [x0]
	ldrsw	x0, [sp, 24]
	add	x0, x1, x0
	ldrb	w1, [x0]
	ldr	x0, [sp]
	strb	w1, [x0]
.L6:
	ldr	w0, [sp, 28]
	cmp	w0, 0
	bne	.L7
	ldr	x0, [sp]
	add	sp, sp, 32
	ret
	.size	ultostr, .-ultostr
	.align	2
	.global	print_u64
	.type	print_u64, %function
print_u64:
	stp	x29, x30, [sp, -64]!
	add	x29, sp, 0
	str	w0, [x29, 28]
	str	w1, [x29, 24]
	strb	wzr, [x29, 49]
	add	x0, x29, 32
	add	x0, x0, 17
	ldr	w2, [x29, 24]
	mov	x1, x0
	ldr	w0, [x29, 28]
	bl	ultostr
	str	x0, [x29, 56]
	ldr	x0, [x29, 56]
	bl	simple_puts
	mov	w0, 10
	bl	simple_putc
	nop
	ldp	x29, x30, [sp], 64
	ret
	.size	print_u64, .-print_u64
	.align	2
	.global	simple_print_u32_hex
	.type	simple_print_u32_hex, %function
simple_print_u32_hex:
	stp	x29, x30, [sp, -32]!
	add	x29, sp, 0
	str	w0, [x29, 28]
	mov	w1, 16
	ldr	w0, [x29, 28]
	bl	print_u64
	nop
	ldp	x29, x30, [sp], 32
	ret
	.size	simple_print_u32_hex, .-simple_print_u32_hex
	.section	.rodata
	.align	3
.LC0:
	.string	"0123456789ABCDEF"
	.data
	.align	3
	.type	num_str.3117, %object
	.size	num_str.3117, 8
num_str.3117:
	.xword	.LC0
	.ident	"GCC: (Linaro GCC 7.2-2017.11) 7.2.1 20171011"
	.section	.note.GNU-stack,"",@progbits
